package com.desksoft.ecommerce.service.interf.mall;


import java.util.List;

import com.desksoft.ecommerce.entity.mall.dto.Carbrand;
import com.desksoft.ecommerce.entity.mall.dto.Carsconf;
import com.desksoft.ecommerce.util.result.ServiceResult;
import com.desksoft.ecommerce.vo.mall.CarModelQryVO;
import com.desksoft.ecommerce.vo.mall.CarModelVO;
import com.desksoft.ecommerce.vo.mall.ItemDescVO;
import com.desksoft.utility.pagination.Page;
import com.desksoft.utility.service.ServiceInterface;


/***************************************
 * <pre>
 * 版权所有：杭州迪科软件 保留所有权利
 * 创建日期: 2013-5-13
 * 创建作者：jh
 * 文件名称：ICarModelService.java
 * 版本：
 * 功能：
 * 最后修改时间：
 * 修改记录：
 * </pre>
 *****************************************/

public interface ICarModelService extends ServiceInterface{

	/**
	 * 获取车型库
	 * 
	 * @param CarBrandQryVO
	 * @return Page<CarBrandVO>
	 */
	public ServiceResult<Page<CarModelVO>> selectCarModelList(CarModelQryVO carModelQryVO);

	
	
	
	/**
	 * 添加汽车车型
	 * 
	 * @param Carbrand
	 * @return Boolean
	 */
	public ServiceResult<Boolean>  insertCarModel(CarModelVO carModelVO);

	/**
	 * 修改汽车车型
	 * 
	 * @param Carbrand
	 * @return Boolean
	 */
	public ServiceResult<Boolean>  updateCarModel(CarModelVO carModelVO);
	/**
	 * 关联查询
	 * @param carModelVO
	 * @return
	 */
	public ServiceResult<CarModelVO> selectCarModelAssociation(CarModelVO carModelVO);
	
	
	/**
	 * 通过id查询车系配置表
	 * @param carsconf
	 * @return
	 */
	public ServiceResult<List<Carsconf>> selectCarsConfByCarModelID(Carsconf carsconf);
	
	
	/**
	 * 查询ItemDesc信息By Seq, desccode
	 * @param itemDescVO
	 * @return
	 */
	public ServiceResult<List<ItemDescVO>> selectItemDESCListBySeqCode(ItemDescVO itemDescVO);
	
	
	/**
	 * 删除汽车车型
	 * 
	 * @param Carbrand
	 * @return Boolean
	 */
	public ServiceResult<Boolean>  deleteCarModel(List<CarModelVO> carModelList);
	
	/**
	 * 获取车型配置
	 * 
	 * @param Carbrand
	 * @return Boolean
	 */
	public ServiceResult<Carsconf> selectCarsconfById(Carsconf carsconf);
	
	

	/**
	 * 修改车系配置
	 * 
	 * @param Carbrand
	 * @return Boolean
	 */
	public ServiceResult<Boolean>  updateCarsConf(Carsconf carsconf);
	
	
	
	/**
	 * 根据CarsConf.id 删除数据 车系配置
	 * 
	 * @param Carbrand
	 * @return Boolean
	 */
	public ServiceResult<Boolean>  deleteCarsConfByID(Carsconf carsconf);
	
	
	/**
	 * 批量删除品牌库
	 * @param carbrand
	 * @return
	 */
	public ServiceResult<Boolean> deleteCarBrand(List<Carbrand> carbrandList) throws Exception;
	
	
	/**
	 * 获取CarModelList
	 * 
	 * @param CarBrandVO
	 * @return List<CarBrandVO>
	 */
	public ServiceResult<List<CarModelVO>> selectCarModelListQuery(CarModelVO carModelVO);

}
